1. Field of the Invention
This invention relates generally to feedback systems and, more particularly, to a feedback system for allocating flows between a service network and a group of usage devices.
2. Related Art
There are a number of computer networks that have a system for limiting access to the networks based on the capacity of the input/output (I/O) devices. When the I/O devices become overburdened by computers accessing the networks, prior art systems restrict the flow rate of certain computers based on predefined usage profiles, user information and/or data types. These systems are typically used for congestion control of the computer networks, not based on past usage of the computer networks.
Other systems are based on a model of providing quality of service levels to certain users of the computer networks and/or certain types of data being communicated through the computer networks. For example, some systems would differentiate between the service provided based on a priority that has been assigned to the users or based on a priority assigned to the types of data. The higher the priority, the more bandwidth or the quicker the information will be transferred through the computer networks. In these related systems, bandwidth rules are generally not implemented according to past usage of the computer networks. Some prior art systems use rate-limits to support a quality of service by scaling back users with large transfers. However, a number of these systems are based on inefficient processes to determine the rate-limits for those users with large transfers and due to the inefficient processes, these systems require complex systems to implement the rate-limits.
For example, related systems have been based on multiple transfer limits and have individually implemented rate-limits for each user. Checking transfers for each user against multiple limits can significantly increase processing times and may require more expensive processors in some circumstances. Additionally, individually implementing rate-limits for each user is inefficient and may not result in a fair allocation of resources. Some related systems also suggest changing communication paths depending on whether the system is in a monitoring mode of operation or in a management mode of operation, and some even require multiple processors for a single router.
Accordingly, there remains the need for a flow allocation system which limits users in an efficient manner and using a less complex system when the users have reached a usage limit. Additionally, there remains a need for a flow allocation system that limits users based on usage limits and also provide exception handling of the users that have reached a usage limit. There also remains a need for a flow allocation system that can limit a subset of users as a group rather than on an individual basis when each member of the subset has exceeded the usage limit.